#include <iostream>
#include <cstdlib>

int main()
{
    // int *a = (int*)malloc(sizeof(int)*4);
    // if(a == NULL)
    // {
    //     return -1;
    // }
    // *a = 10;
    // std::cout<<*a<<std::endl;
    // free(a);

    //new   delete : 关键字
    //1、不需要计算内存大小
    //2、不需要转换指针
    //3.不需要判断返回值是否为空：申请空间失败，抛出内存异常
    //4、小括号初始化内存值
    // int *a = new int(10);
    // std::cout<<*a<<std::endl;
    // delete a;//释放指针

     int *a = new int[3]{1,2,3};
     delete []a;//释放数组

    //二维数组
    // int **a = new int*[2];//两行
    // for(int i = 0;i < 2;i++)
    //     a[i] = new int[3];//三列
    // for(int i = 0;i < 2;i++)
    //     delete []a[i];
    // delete []a;
    
    return 0;
}